function animate(obj, target, callback) {
    // console.log('成功引入回调函数');
    clearInterval(obj.timer)

    //每40毫秒移动一段距离
    //距离为目标地点减当前地点的的长度的十分之一
    obj.timer = setInterval(function () {

        var distance = (target - obj.offsetLeft) / 10;
        distance = distance > 0 ? Math.ceil(distance) : Math.floor(distance);

        if (obj.offsetLeft == target) {
            clearInterval(obj.timer);
            // if (callback) {
            //     callback();
            // }
            callback && callback();
        }

        //每次加一段距离(距离为：最近有定位父级的元素，自身left值为0的相对距离)
        // 向左向右移动取决于distance的正负(正右负左)
        // (初始距离:与父盒子左边紧贴     规定距离:子元素距离父盒子左边的距离)
        obj.style.left = obj.offsetLeft + distance + 'px';
    }, 40)
}